package com.bd.scm.domain.models.leave;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

//@ApiModel(value="com-bd-scm-domain-models-leave-BdViewLeaveMaster")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "bd_view_leave_master")
public class LeaveMasterView implements Serializable {
    @TableId(value = "order_id")
    @ApiModelProperty(value="")
    private Long orderId;

    @TableField(value = "order_no")
    @ApiModelProperty(value="")
    private String orderNo;

    @TableField(value = "leave_id")
    @ApiModelProperty(value="")
    private String leaveId;

    @TableField(value = "start_date")
    @ApiModelProperty(value="")
    private Date startDate;

    @TableField(value = "end_date")
    @ApiModelProperty(value="")
    private Date endDate;

    @TableField(value = "people_num")
    @ApiModelProperty(value="")
    private Integer peopleNum;

    @TableField(value = "total_time")
    @ApiModelProperty(value="")
    private BigDecimal totalTime;

    @TableField(value = "remark")
    @ApiModelProperty(value="")
    private String remark;

    @TableField(value = "submitter_id")
    @ApiModelProperty(value="")
    private String submitterId;

    @TableField(value = "submitter_no")
    @ApiModelProperty(value="")
    private String submitterNo;

    @TableField(value = "submitter_name")
    @ApiModelProperty(value="")
    private String submitterName;

    @TableField(value = "submitter_dept_id")
    @ApiModelProperty(value="")
    private Integer submitterDeptId;

    @TableField(value = "submitter_time")
    @ApiModelProperty(value="")
    private Date submitterTime;

    @TableField(value = "apply_type")
    @ApiModelProperty(value="")
    private Integer applyType;

    @TableField(value = "status")
    @ApiModelProperty(value="")
    private Integer status;

    @TableField(value = "status_name")
    @ApiModelProperty(value="")
    private String statusName;

    @TableField(value = "last_approver_id")
    @ApiModelProperty(value="")
    private String lastApproverId;

    @TableField(value = "last_approver_no")
    @ApiModelProperty(value="")
    private String lastApproverNo;

    @TableField(value = "last_approver_name")
    @ApiModelProperty(value="")
    private String lastApproverName;

    @TableField(value = "is_del")
    @ApiModelProperty(value="")
    private Integer isDel;

    @TableField(value = "approval_time")
    @ApiModelProperty(value="")
    private Date approvalTime;

    @TableField(value = "remove_id")
    @ApiModelProperty(value="")
    private String removeId;

    @TableField(value = "remove_no")
    @ApiModelProperty(value="")
    private String removeNo;

    @TableField(value = "remove_name")
    @ApiModelProperty(value="")
    private String removeName;

    @TableField(value = "remove_time")
    @ApiModelProperty(value="")
    private Date removeTime;

    @TableField(value = "return_remark")
    @ApiModelProperty(value="")
    private String returnRemark;

    @TableField(value = "begin_time")
    @ApiModelProperty(value="")
    private String beginTime;

    @TableField(value = "end_time")
    @ApiModelProperty(value="")
    private String endTime;

    @TableField(value = "leave_type_name")
    @ApiModelProperty(value="")
    private String leaveTypeName;

    @TableField(value = "approver1")
    @ApiModelProperty(value="")
    private Integer approver1;

    @TableField(value = "approver1_no")
    @ApiModelProperty(value="")
    private String approver1No;

    @TableField(value = "approver1_name")
    @ApiModelProperty(value="")
    private String approver1Name;

    @TableField(value = "approver2")
    @ApiModelProperty(value="")
    private Integer approver2;

    @TableField(value = "approver2_no")
    @ApiModelProperty(value="")
    private String approver2No;

    @TableField(value = "approver2_name")
    @ApiModelProperty(value="")
    private String approver2Name;

    private static final long serialVersionUID = 1L;

    public static final String COL_ORDER_ID = "order_id";

    public static final String COL_ORDER_NO = "order_no";

    public static final String COL_LEAVE_ID = "leave_id";

    public static final String COL_START_DATE = "start_date";

    public static final String COL_END_DATE = "end_date";

    public static final String COL_PEOPLE_NUM = "people_num";

    public static final String COL_TOTAL_TIME = "total_time";

    public static final String COL_REMARK = "remark";

    public static final String COL_SUBMITTER_ID = "submitter_id";

    public static final String COL_SUBMITTER_NO = "submitter_no";

    public static final String COL_SUBMITTER_NAME = "submitter_name";

    public static final String COL_SUBMITTER_DEPT_ID = "submitter_dept_id";

    public static final String COL_SUBMITTER_TIME = "submitter_time";

    public static final String COL_APPLY_TYPE = "apply_type";

    public static final String COL_STATUS = "status";

    public static final String COL_STATUS_NAME = "status_name";

    public static final String COL_LAST_APPROVER_ID = "last_approver_id";

    public static final String COL_LAST_APPROVER_NO = "last_approver_no";

    public static final String COL_LAST_APPROVER_NAME = "last_approver_name";

    public static final String COL_IS_DEL = "is_del";

    public static final String COL_APPROVAL_TIME = "approval_time";

    public static final String COL_REMOVE_ID = "remove_id";

    public static final String COL_REMOVE_NO = "remove_no";

    public static final String COL_REMOVE_NAME = "remove_name";

    public static final String COL_REMOVE_TIME = "remove_time";

    public static final String COL_RETURN_REMARK = "return_remark";

    public static final String COL_BEGIN_TIME = "begin_time";

    public static final String COL_END_TIME = "end_time";

    public static final String COL_LEAVE_TYPE_NAME = "leave_type_name";

    public static final String COL_APPROVER1 = "approver1";

    public static final String COL_APPROVER1_NO = "approver1_no";

    public static final String COL_APPROVER1_NAME = "approver1_name";

    public static final String COL_APPROVER2 = "approver2";

    public static final String COL_APPROVER2_NO = "approver2_no";

    public static final String COL_APPROVER2_NAME = "approver2_name";
}